package com.example.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.example.pojo.FastgptVO;
import com.example.pojo.LogVO;
import com.example.pojo.Mission;
import com.example.pojo.MissionVO;

import java.util.List;
import java.util.Map;

public interface ROVService {
    FastgptVO getInfo(String Content);
    FastgptVO getFault(String Content);
    String getSummary(Mission mission);

    boolean createMission(Mission mission);

    List<Mission> queryAllMission();

    MissionVO generateLocation(Mission mission);

    String getMemo(String id);

    JSONArray recommend(String Content);

    LogVO getLogs(Mission mission);

    /**
     * 获取ROV数据
     * @return
     */
    Map<String, String> GetROVData();

    /**
     * 获取作业舱数据
     * @return
     */
    Map<String, String> GetZYCData();

    /**
     * 获取保障监控装置数据
     * @return
     */
    Map<String, String> GetBZJKData();

    /**
     * 获取导航数据
     * @return
     */
    Map<String, String> GetGUIDEData();

    /**
     * 获取打捞本体数据
     * @return
     */
    Map<String, String> GetDLBTData();

    /**
     * 获取机械臂数据
     * @return
     */
    Map<String, String> GetJXBData();

    /**
     * 获取权限切换数据
     * @return
     */
    Map<String, String> GetQXQHData();

    /**
     * 获取模块化搭载数据
     * @return
     */
    Map<String, String> GetMKHDZData();

    /**
     * 获取铺缆数据
     * @return
     */
    Map<String, String> GetPLData();

    /**
     * 设置ROV数据
     * @param data
     * @return
     */
    Boolean SetROVData(Map<String, String> data);

    /**
     * 设置作业舱数据
     * @param data
     * @return
     */
    Boolean SetZYCData(Map<String, String> data);

    /**
     * 设置保障监控装置数据
     * @param data
     * @return
     */
    Boolean SetBZJKData(Map<String, String> data);

    /**
     * 设置导航数据
     * @param data
     * @return
     */
    Boolean SetGUIDEData(Map<String, String> data);

    /**
     * 设置打捞本体数据
     * @return
     */
    Boolean SetDLBTData(Map<String, String> data);

    /**
     * 设置机械臂数据
     * @param data
     * @return
     */
    Boolean SetJXBData(Map<String, String> data);

    /**
     * 设置权限切换数据
     * @return
     */
    Boolean SetQXQHData(Map<String, String> data);

    /**
     * 设置模块化搭载数据
     * @return
     */
    Boolean SetMKHData(Map<String, String> data);

    /**
     * 设置铺缆数据
     * @return
     */
    Boolean SetPLData(Map<String, String> data);
}
